﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using LogIn_App.Controllers;
using LogIn_App.DAO;
using LogIn_App.Services;
using Microsoft.Extensions.DependencyInjection;

namespace LogIn_App
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            // 创建服务集合
            var services = new ServiceCollection();

            // 注册服务和依赖关系
            services.AddSingleton<LogInService>();
            services.AddSingleton<LogInDao>();
            services.AddTransient<LogInController>();

            // 构建服务提供程序
            var serviceProvider = services.BuildServiceProvider();

            // 从服务提供程序中获取LoginController实例
            var loginController = serviceProvider.GetRequiredService<LogInController>();


            Application.Run(new Form1(loginController));
        }
    }
}
